Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Oepn source



  Currying in Python

What is Currying? Currying is like a kind of incremental binding of function arguments. Let’s define a simple function which takes 5 arguments: 1def f(a, b, c, d, e):2    print(a, b, c, d, e) In a language where currying is supported, f is a function which takes one argument (a) and returns a function which takes 4 arguments. This means that f(5) is the following function: 1def g(b, c, d, e):2    f(5, b, c, d, e) We could emulate this behavior the...

   Python,Curring,Binding,Implement     2012-03-19 12:59:10

  Optimization Tricks used by the Lockless Memory Allocator

With the releasing of the Lockless Memory Allocator under the GPL version 3.0 license, we can now discuss more of the optimization tricks used inside it. Many of these are things you wouldn't want to use in normal code. However, when speed is the ultimate goal, sometimes we need to break a few rules and use code that is a little sneaky.The SlabA slab is a well-known technique for allocating fixed size objects. For a given object size, a chunk of memory is divided up into smaller regions of that ...

   Optimization,Memory allocation     2011-11-16 08:02:16

  How I Learned to Program Computers

I’ve been asked this question a lot lately, especially after I built YouTube Instant. So, here’s the answer, once and for all, for those who are interested.In short:I learned how to program by building lots of websites.The full story:I learned how to program by working on lots of different website projects starting from a pretty young age. What follows is a full account of all the major websites I’ve built, back to the very first site I made when I was 11 years old. Wha...

   Programming,Computer,Tips,Feross Aboukhadijeh     2011-10-17 10:25:32

  10 Web Design Elements that You Shouldn’t Overlook

When it comes to designing and building websites, it never seems to happen fast enough.Given this fast pace, many small details that are eventually required to build the website are often left out of the design process. While these details might be minor, they are what take a website from nice to truly awesome.These details are often easy to miss because they don’t drive the overall look and feel of the website. The problem is that as your development team works through the design, it wil...

   Web design,Verification,jQuery     2011-03-30 00:09:49

  Don’t Call Yourself A Programmer, And Other Career Advice

If there was one course I could add to every engineering education, it wouldn’t involve compilers or gates or time complexity.  It would be Realities Of Your Industry 101, because we don’t teach them and this results in lots of unnecessary pain and suffering.  This post aspires to be README.txt for your career as a young engineer.  The goal is to make you happy, by filling in the gaps in your education regarding how the “real world” actually works.  ...

   Career,Programmer,Advice,Low level,Development     2011-10-29 07:09:23

  The trap of the performance sweet spot

This post is about JavaScript performance but I would like to start it by telling a story that might seem unrelated to JS. Please bear with me if you don’t like C.A story of a C programmer writing JavaScriptMr. C. is a C programmer as you can probably guess from his name. Today he was asked by his boss to write a very simple function: given an array of numbered 2d points calculate vector sum of all even numbered points... He opens his favorite text editor and quickly types somet...

   C,JavaScript,Sweet spot,Memory,Low level,Trap     2011-11-06 14:45:01

  A Fun Approach To Creating More Successful Websites

As Web designers and developers, each project we work with has a unique set of goals and requirements. But one goal we have for all of our projects is that we want them to make an impression on people — we want the websites that we create to be memorable. A fun experience is often an enjoyable one and an enjoyable experience is usually a memorable one. Therefore, it stands to reason that one of the ways to create a memorable experience is to make it a fun experience. In this article,...

   Web design,Elements,UI,Success     2012-03-05 05:10:07

  The Ultimate GetElementsByClassName, Anno 2008

Two and a half years ago, I released the first version of getElementsByClassName. With how web browsers has evolved since, I thought I’d release a real ultimate version, dated 2008. Native Web Browser SupportSafari 3.1 has native getElmentsByClassName support, and upcoming Firefox 3 and Opera 9.5 will have it too. It only leaves out, you’ve guessed it, Internet Explorer.The Necessity Of This ScriptLiving in a world where Microsoft is halting every possible way t...

   JavaScript,geElementsByClassName,Cross browser compatible,Implementation     2011-11-26 02:46:20

  The Disruptor In The Valley

Justin Kan and Emmett Shear watched their first startup, an online calendar called Kiko, implode when Google decided to do the same thing in 2006. They sold Kiko's scraps on eBay for $258,000 and wondered what to do with their lives. So the pair did the only thing they could think of: They went to see Paul Graham at his house in Cambridge, Mass., near Harvard Square. Graham sat them down and helped bang out a plan to create Justin.tv, now the Web's biggest portal for live video, with 31 million ...

   Paul Graham,Creative,Programmer,Investme     2011-08-28 04:13:43

  #46 – Why software sucks

No one makes bad software on purpose. No benevolent programmer has ever sat down, planning out weeks of work, with the intention of frustrating people and making them cry. Bad software, or bad anything, happens because making things is hard, making good things doubly so. The three things that make it difficult are: Possessing the diverse skills needed not to suck.Understanding who you’re making the thing for.Orchestrating the interplay of skills, egos and constraints over the course of...

   Software design,Sucks,Software industry     2012-03-19 13:10:37